Haskell による並列・並行プログラミング
トピック
並列Haskell
ストラテジーによる並列化(暗黙的、遅延データ構造)→Evalモナド
データフロー並列(明示的、正格データ構造)→Parモナド
データ並列(多次元配列)
CPU → Repa
GPU → Accelerate
並行Haskell
I部 並列Haskell
1章スキップ
2章 基本の並列性:Evalモナド
3章 評価戦略
4章 データフロー並列:Parモナド
5章 Repaを用いたデータ並列プログラミング
6章 AccelerateによるGPUプログラミング
II部 並行Haskell
7章 並行制御の基本:スレッドとMVar
8章 入出力の重ね合わせ
9章 キャンセルとタイムアウト
10章 ソフトウェアトランザクショナルメモリ
11章 並行性の高水準な抽象化
12章 並行ネットワークサーバ
13章 スレッドを用いた並列プログラミング
14章 分散プログラミング
15章 デバッグ、チューニング、外部コードとのインターフェース
割当メモ
12章 並行ネットワークサーバ
担当: lotz さん
13章 スレッドを用いた並列プログラミング
担当: wado さん
14章 分散プログラミング
担当: maton
15章 デバッグ、チューニング、外部コードとのインターフェース
担当: lotz さん
自分用覚書
cabal build --ghc-options="オプション列" -- プログラム名
プログラム: cabalファイルでexecutable として指定されている名前
cabal exec -- プログラム名 プログラムの引数列 +RTS RTSの引数列
threadscope プログラム名.eventlog